<template>
  <div>
    <input placeholder="输入关键字搜索" @input="handleSearch" />
    <table class="my-table">
      <thead>
        <tr>
          <th>就诊日期</th>
          <th>医生姓名</th>
          <th>诊断结果</th>
          <th>处方信息</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in filteredRecords" :key="index">
          <td>{{ item.date }}</td>
          <td>{{ item.doctor }}</td>
          <td>{{ item.diagnosis }}</td>
          <td>{{ item.prescription }}</td>
          <td @click="handleShow(index)" class="detail-btn">详情</td>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script>
export default {
  props: {
    records: Array,
    filteredRecords: Array,
    detail: Object
  },
  methods: {
    handleSearch(e) {
      clearTimeout(this.timer);
      this.timer = setTimeout(() => {
        console.log(e.target.value);
        this.$emit(
          "update:filteredRecords",
          this.records.filter(item => {
            return Object.values(item)
              .join("")
              .includes(e.target.value);
          })
        );
      }, 1000);
    },
    handleShow(index) {
      this.$emit("update:isShowDetail", true);
      this.$emit("update:detail", this.filteredRecords[index]);
    }
  }
};
</script>

<style scoped>
.my-table {
  border-collapse: collapse;
  width: 100%;
}

.my-table td,
.my-table th {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

.my-table th {
  background-color: #f2f2f2;
}
.detail-btn {
  cursor: pointer;
}
</style>